package 代码随想录.数组;

public class _4有序数组的平方 {
    /**
     * 977. 有序数组的平方
     * https://leetcode.cn/problems/squares-of-a-sorted-array/
     * 给你一个按 非递减顺序 排序的整数数组 nums，返回 每个数字的平方 组成的新数组，要求也按 非递减顺序 排序。
     */
    public int[] sortedSquares(int[] nums) {
        int i = 0 , j = nums.length-1 , k = nums.length-1;
        int[] res = new int[nums.length];
        while(i<=j){
            if(nums[i] * nums[i] >= nums[j] * nums[j]){
                res[k--] = nums[i] * nums[i];
                i++;
            }else{
                res[k--] = nums[j] * nums[j];
                j--;
            }
        }
        return res;
    }
}
